package com.ruoyi.sl.service;

import java.util.Date;
import java.util.List;
import com.ruoyi.sl.domain.SlRfwork;
import org.apache.ibatis.annotations.Param;

/**
 * 报工单Service接口
 * 
 * @author admin
 * @date 2024-06-18
 */
public interface ISlRfworkService 
{
    /**
     * 查询报工单
     * 
     * @param rfworkId 报工单主键
     * @return 报工单
     */
    public SlRfwork selectSlRfworkByRfworkId(Long rfworkId);

    /**
     * 查询报工单列表
     * 
     * @param slRfwork 报工单
     * @return 报工单集合
     */
    public List<SlRfwork> selectSlRfworkList(SlRfwork slRfwork);

    /**
     * 查询所有复核通过的报工单列表
     *  @param rfworkType 类型0计件1零工
     * @return 报工单集合
     */
    public List<SlRfwork> selectAllApprovedSlRfworkList(String rfworkType);

    //指定日期复核通过的报工单
    public List<SlRfwork> selectAllApprovedSlRfworkListByDate(String rfworkType,Date rfworkDate);


    /**
     * 查询指定日期所有复核没有通过的报工单列表
     * @param rfworkType 类型0计件1零工
     * @return 报工单集合
     */
    public List<SlRfwork> selectNotApprovedSlRfworkListDate(String rfworkType);



    /**
     * 新增报工单
     * 
     * @param slRfwork 报工单
     * @return 结果
     */
    public int insertSlRfwork(SlRfwork slRfwork);

    /**
     * 修改报工单
     * 
     * @param slRfwork 报工单
     * @return 结果
     */
    public int updateSlRfwork(SlRfwork slRfwork);

    /**
     * 批量删除报工单
     * 
     * @param rfworkIds 需要删除的报工单主键集合
     * @return 结果
     */
    public int deleteSlRfworkByRfworkIds(Long[] rfworkIds);

    /**
     * 删除报工单信息
     * 
     * @param rfworkId 报工单主键
     * @return 结果
     */
    public int deleteSlRfworkByRfworkId(Long rfworkId);
}
